package com.huirui.server.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 微信小程序配置属性类
 * 用于读取并封装application.yml/application.properties中以"wechat.mini"为前缀的微信小程序相关配置
 * 通过Spring的@ConfigurationProperties实现配置自动绑定，避免硬编码配置信息，提升可维护性
 */
@Data // Lombok注解，自动生成getter、setter、toString、equals、hashCode等方法
@Component // 标记为Spring组件，使其被Spring容器扫描并管理，支持依赖注入
@ConfigurationProperties(prefix = "wechat.mini") // 绑定配置文件中前缀为"wechat.mini"的配置项
public class WeChatProperties {

    /**
     * openId请求地址
     */
    public static final String WX_LOGIN_URL = "https://api.weixin.qq.com/sns/jscode2session";
    /**
     * 微信小程序的唯一标识（AppID）
     * 对应配置项：wechat.mini.appid
     * 用途：微信小程序开发中，用于标识当前小程序身份，是调用微信开放平台接口（如登录、支付）的必要参数
     */
    private String appid;
    /**
     * 微信小程序的密钥（AppSecret）
     * 对应配置项：wechat.mini.secret
     * 用途：与AppID配套使用，用于验证小程序身份，在获取小程序全局唯一后台接口调用凭证（access_token）等场景中必填
     * 注意：该配置属于敏感信息，生产环境需通过安全方式存储（如配置中心、环境变量），避免明文暴露
     */
    private String secret;
}
